package com.budwk.app.waterquality.models;

import com.alibaba.fastjson.annotation.JSONField;
import com.budwk.starter.common.openapi.annotation.ApiModel;
import com.budwk.starter.common.openapi.annotation.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.nutz.dao.entity.annotation.*;
import org.nutz.dao.interceptor.annotation.PrevInsert;

import java.io.Serializable;
import java.time.LocalDateTime;

@Data
@Accessors(chain = true)
@Table("waterquality.wk_appeal_record")
@Comment("申诉记录表")
@ApiModel(description = "申诉记录表")
public class AppealRecord extends BaseModel implements Serializable {

    private static final long serialVersionUID = 1L;

    @Column
    @Name
    @Comment("编号")
    @ApiModelProperty(description = "ID")
    @ColDefine(type = ColType.VARCHAR, width = 50)
    @PrevInsert(els = {@EL("snowflake()")}, nullEffective = true)
    private String id;

    @Column("ypty")
    @Comment("样品类型")
    @ApiModelProperty(description = "样品类型(地表水 地下水 引用水  污水及再生水)")
    @ColDefine(type = ColType.VARCHAR, width = 200)
    private String ypty;

    @Column("STCD")
    @Comment("测站编码")
    @ApiModelProperty(description = "测站编码")
    @ColDefine(type = ColType.VARCHAR, width = 120)
    private String STCD;

    @Column("STNM")
    @Comment("断面名称")
    @ApiModelProperty(description = "断面名称")
    @ColDefine(type = ColType.VARCHAR, width = 120)
    private String STNM;

    @Column("LYNM")
    @Comment("编号")
    @ApiModelProperty(description = "编号")
    @ColDefine(type = ColType.VARCHAR, width = 120)
    private String LYNM;

    @Column("SPT")
    @Comment("采样时间")
    @ApiModelProperty(description = "采样时间")
    @ColDefine(type = ColType.VARCHAR, width = 120)
    private String SPT;

    @Column("FXT")
    @Comment("分析时间")
    @ApiModelProperty(description = "分析时间")
    @ColDefine(type = ColType.VARCHAR, width = 120)
    private String FXT;

    @Column("exception_data")
    @Comment("异常数据")
    @ApiModelProperty(description = "异常数据（存储jsonb对象参数 ParamProblemVo）")
    @ColDefine(type = ColType.TEXT)
    private String exceptionData;

    @Column("handle_operate")
    @Comment("处理操作")
    @ApiModelProperty(description = "处理操作")
    @ColDefine(type = ColType.VARCHAR, width = 120)
    private String handleOperate;

    @Column("is_appeal")
    @Comment("是否申诉")
    @ApiModelProperty(description = "是否申诉")
    @ColDefine(type = ColType.VARCHAR, width = 120)
    private String isAppeal;

    @Column("appeal_image")
    @Comment("图片地址")
    @ApiModelProperty(description = "图片地址")
    @ColDefine(type = ColType.VARCHAR, width = 300)
    private String appealImage;

    @Column("exception_option")
    @Comment("异常说明")
    @ApiModelProperty(description = "异常说明")
    @ColDefine(type = ColType.VARCHAR, width = 600)
    private String exceptionOption;


    @Column("update_value")
    @Comment("修改后的值")
    @ApiModelProperty(description = "修改后的值")
    @ColDefine(type = ColType.VARCHAR, width = 120)
    private String updateValue;

    @Column("operater_name")
    @Comment("处理人员")
    @ApiModelProperty(description = "处理人员")
    @ColDefine(type = ColType.VARCHAR, width = 120)
    private String operaterName;

    @Column("operate_text")
    @Comment("处理说明")
    @ApiModelProperty(description = "处理说明")
    @ColDefine(type = ColType.VARCHAR, width = 500)
    private String operateText;

    @Column("operate_date")
    @Comment("处理时间")
    @ApiModelProperty(description = "处理时间")
    @ColDefine(type = ColType.DATETIME, width = 200)
    private LocalDateTime operateDate;

    @Column("check_name")
    @Comment("审核人员")
    @ApiModelProperty(description = "审核人员")
    @ColDefine(type = ColType.VARCHAR, width = 120)
    private String checkName;

    @Column("check_text")
    @Comment("审核说明")
    @ApiModelProperty(description = "审核说明")
    @ColDefine(type = ColType.VARCHAR, width = 500)
    private String checkText;

    @Column("check_date")
    @Comment("审核时间")
    @ApiModelProperty(description = "审核时间")
    @ColDefine(type = ColType.DATETIME, width = 200)
    private LocalDateTime checkDate;

}
